/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.mocamorena.control;

import br.com.mocamorena.exception.PersistenciaException;
import br.com.mocamorena.model.Usuario;
import br.com.mocamorena.persistence.DaoFactory;
import br.com.mocamorena.persistence.DaoFactoryImpl;
import br.com.mocamorena.persistence.dao.UsuarioDao;
import br.com.mocamorena.view.DisplayFilter;
import java.util.List;

/**
 *
 * @author Diego
 */
public class ControleUsuario {

    private UsuarioDao dao;

    public ControleUsuario() {
        DaoFactory repositoryFactory = new DaoFactoryImpl();
        dao = repositoryFactory.createUsuarioDao();
    }

    public boolean inserir(Usuario usuario) throws PersistenciaException {
        return dao.inserir(usuario);
    }

    public boolean atualizar(Usuario usuario) throws PersistenciaException {
        return dao.atualizar(usuario);
    }

    public boolean excluir(Usuario usuario) throws PersistenciaException {
        return dao.excluir(usuario);
    }

    public List<Usuario> listarTodos() throws PersistenciaException {
        return dao.listarTodos();
    }

    public List<Usuario> listarPeloNome(String nome, DisplayFilter displayFilter) throws PersistenciaException {
        return dao.listarPeloNome(nome, displayFilter);
    }

    public boolean isLoginInUse(String login) throws PersistenciaException {
        return dao.isLoginInUse(login);
    }

    public boolean trocarSenha(long id, String novaSenha) throws PersistenciaException {
        return dao.trocarSenha(id, novaSenha);
    }

    public Usuario authenticateUser(String login, String password) throws PersistenciaException {
        return dao.authenticateUser(login, password);
    }
}
